package com.penghaisoft.microwms.base.web.data.service;


import com.penghaisoft.microwms.common.base.model.BaseDictionary;
import com.penghaisoft.microwms.common.data.model.MdLocation;
import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.page.Pager;

import java.util.List;

/**
 * @Description 库位业务接口类
 * @author gaofeng
 * @date 2017年5月24日 下午2:09:38 
 * @version 1.0
 */
public interface IMdLocationService {
	
	/** 
	 * @Title create
	 * @Description 新增记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:10:39
	 * @param mdLocation
	 * @return Resp
	 */
	public Resp create(MdLocation mdLocation);

	/** 
	 * @Title delete
	 * @Description 删除记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:10:57
	 * @param mdLocation
	 * @return Resp
	 */
	public Resp delete(MdLocation mdLocation);
	
	/** 
	 * @Title findListByCondition
	 * @Description 根据条件查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:11:14
	 * @param page
	 * @param rows
	 * @param condition
	 * @return Pager<MdLocation>
	 */
	public Pager<MdLocation> findListByCondition(int page, int rows, MdLocation condition);
	
	/** 
	 * @Title findById
	 * @Description 根据id查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:11:33
	 * @param id
	 * @return MdLocation
	 */
	public MdLocation findById(String id);
	
	/** 
	 * @Title findByCode
	 * @Description 根据code查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:11:53
	 * @param mdLocation
	 * @return MdLocation
	 */
	public MdLocation findByCode(MdLocation mdLocation);
	
	/** 
	 * @Title update
	 * @Description 修改记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:12:11
	 * @param mdLocation
	 * @return Resp
	 */
	public Resp update(MdLocation mdLocation);

	/** 
	 * @Title queryAllByCondition
	 * @Description 根据条件查询记录
	 * @author gaofeng
	 * @date 2017年5月24日 下午2:12:37
	 * @param mdLocation
	 * @return List<MdLocation>
	 */
	public List<MdLocation> queryAllByCondition(MdLocation mdLocation);
	
	/** 
	* @Title: queryAllUnderWorkArea 
	* @Description: 查询工作区下的库位
	* @author zhangxu 
	* @2017年6月14日:2017年6月14日:上午9:36:29
	* @param @param conditions
	* @param @return    
	* @return List<MdLocation>
	* @version V0.1    
	* @throws 
	*/
	public List<MdLocation> queryAllUnderWorkArea(List<MdLocation> conditions);
	
	public List<MdLocation> queryMdLocation(MdLocation condition);

	public List<MdLocation> queryLocationsUnderArea(MdLocation condition);
	
	/** 
	 * @Title queryByAny
	 * @Description 查询所有记录
	 * @author luoteng
	 * @date 2017年12月21日:下午7:20:30
	 * @param mdLocation
	 * @return List<MdLocation>
	 */
	public List<MdLocation> queryByAny(MdLocation mdLocation);

	public List<BaseDictionary> getLocationCode(MdLocation condition);

	public List<MdLocation> findLocations(MdLocation mdLocation);
}
